package com.polymer.app;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import com.polymer.app.entity.BussinessDO;
import com.polymer.app.service.BussinessService;


/**
 * @SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan
 * @Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring，一个带有@Bean的注解方法将返回一个对象，
   *     该对象应该被注册为在Spring应用程序上下文中的bean。
 * @EnableAutoConfiguration：能够自动配置spring的上下文，试图猜测和配置你想要的bean类，通常会自动根据你的类路径和你的bean定义自动配置。
 * @ComponentScan：会自动扫描指定包下的全部标有@Component的类，并注册成bean，当然包括@Component下的子注解@Service,@Repository,@Controller。
 * */
@RestController
@SpringBootApplication //Spring Boot核心注解，用于开启自动配置
public class StartApplication implements CommandLineRunner{
//程序可以直接在此启动
    @RequestMapping("/")
    String index(){
      return "ok";
    }
  
    public static void main(String[] args) {
        SpringApplication.run(StartApplication.class, args);
    }
    
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //配置静态资源处理
        registry.addResourceHandler("/**")
        .addResourceLocations("classpath:/META-INF/")
        .addResourceLocations("classpath:/hospitalpay");
    }

    @Autowired
    private BussinessService bussinessService;
    
    @Override
    public void run(String... args) throws Exception {
        //项目启动时会执行这里的任务
        //通常加载用于系统参数加载
        System.out.println("启动时执行任务!");
        BussinessDO getbus = bussinessService.getbus("fanxianlianxifangshi");
    }
}